/**
 * Logger at different levels
 *
 */
class Logger
{
    def int DEBUG = 1
    def int INFO = 2
    def int ERROR = 3

    def currentLevel = INFO
    
    boolean inServletMode = false
    def servletContext = null
    
    def Logger()
    {
        
    }

    def Logger(servletContext)
    {
        this.servletContext = servletContext
        inServletMode = true
    }

    def debug(msg)
    {
        if(currentLevel == DEBUG)
            logprint msg //"DEBUG - " + new Date() + " - " + msg
    }

    def info(msg)
    {
        if(currentLevel != ERROR)
            logprint msg
    }

    def error(msg)
    {
        logprint msg
    }
    
    def logprint(msg)
    {
        // print to servlet log (localhost.-<date>.log)
        if(inServletMode)
            servletContext.log(msg)
        else // print to stdout
            println msg
    }
}
